Use tempfiles to minimize the risk of resource leakage when preparing to overwrite or create a file with new content in a signal-safe way, making the change atomic.
Tempfiles can also be used as locks as only one tempfile can exist at a given path at a time.
- registered temporary files which are deleted automatically as the process terminates or on drop
- write to temporary file and persist it under new name
- close temporary files to convert them into a marker while saving system resources
- mark paths with a closed temporary file
- persist temporary files to prevent them from perishing.
- signal-handler integration with
gix
to clean lockfiles before the process is aborted. - use a temporary file transparently due thanks to implementations of
std::io
traits